1. Field of the Invention
This invention relates to data tracking and more particularly relates to tracking a source of data for failure management.
2. Description of the Related Art
Data communications occur at various levels within contemporary computing systems. For example, data communications occur in standalone computer system, in storage devices, in networks, and over the internet. Furthermore, data communications are facilitated by a variety of communication media, including wired and wireless communication channels.
Data storage within a data storage system allows a host to store data on individual or shared data storage devices. Such a data storage system may be implemented through a variety of networking technologies, such as a local area network (LAN) coupled to a storage area network (SAN). Use of a SAN allows multiple users to share access to a logically centralized data storage system.
In order to efficiently communicate data among a variety of hosts and users, a data communication system may use intermediate communication devices, such as switches and routers. Data communication systems also may employ servers that facilitate data storage operations to and from the various hosts. Data communication systems also may perform error checking on the communicated data in order to ensure the integrity of the data as it is transferred within the data communication system.
Certain conventional error checking operations are implemented through error checking hardware. This type of error checking may be referred to as hardware-assisted error checking because the error checking technology is built into the logic of the hardware. Hardware-assisted error checking typically provides real-time error checking as data is transferred from one device to another. However, hardware-assisted error checking is subject to errors because the error checking hardware might fail.
Hardware-assisted error checking is also limited by the ability to design and implement error checking hardware within a data communication system. Often, such error checking hardware is customized for a particular system and cannot be used interchangeable with off-the-shelf computer components. With the prevalence and potential cost advantages of off-the-shelf components, the ability to integrate custom error checking hardware into a data communication system may be limited.
For example, in a data communication system in which data is communicated from a host to a disk, the data may pass through several components. For instance, the data may pass through a source adapter, such as a host adapter, to a processor and then to a disk adapter so that the data ultimately may be stored on the disk. If one or more of these components does not have error checking hardware because it is not a customized component or for another reason, conventional hardware-assisted error checking may fail to recognize a data failure. Alternatively, the hardware-assisted error checking may fail to indicate the source of the data failure.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that overcome the limitations of conventional hardware-assisted error checking. Beneficially, such an apparatus, system, and method would provide error checking capabilities where error checking hardware is potentially lacking.